package utils

var (
	DeviceList = map[string][]string{
		"HUAWEI": {
			"LIO-AN00", // Mate 30 Pro 5G
			"TAS-AN00", // Mate 30 5G
			"TAS-AL00", // Mate 30
			"LYA-AL10", // Mate 20 Pro
			"HMA-AL00", // Mate 20
			"VOG-AL00", // P30 Pro
			"ELE-AL00", // P30
			"OXF-AN10", // Honor V30 Pro
			"OXF-AN00", // Honor V30
			"PCT-AL10", // Honor V20
			"YAL-AL10", // Honor 20 Pro
			"YAL-AL00", // Honor 20
			"WLZ-AN00", // Nova 6
			"SEA-AL10", // Nova 5 Pro
		},
		"XiaoMi": {
			"MI 9", //
		},
		"Meizu": {
			"M973Q", // 16s Pro

		},
		"OPPO": {
			"PCLM10", // Reno Ace
			"PCRT00", // Reno3 Pro
		},
		"vivo": {
			"V1916A",  // IQOO PRo
			"V1824A",  // IQOO
			"V1936A",  // IQOO Neo
			"V1923A",  // Nex 3
			"V1938CT", // X30
			"V1938T",  // X30 Pro
		},
		"samsung": {
			"SM-N9760", // Note 10+
			"SM-N9700", // Note 10
			"SM-G9750", // S10+
			"SM-G9730", // S10
		},
		"OnePlus": {
			"HD1910", // 7T Pro
			"HD1900", // 7T
			"GM1910", // 7 Pro
			"GM1900", // 7
		},
		"realme": {
			"RMX1931", // x20 Pro
		},
		"nubia": {
			"NX627J", // z20
			"NX629J", // HongMo 3
		},
		"smartisan": {
			"DT1901A", // 3
		},
	}
)

func RandDevice() (brand, model string) {
	var (
		i = 0
		m = RandInt(0, len(DeviceList)-1)
	)

	for brand, models := range DeviceList {
		if i >= m {
			switch l := len(models); l {
			case 0:
			case 1:
				return brand, models[0]
			default:
				return brand, models[RandInt(0, l-1)]
			}
		}
		i++
	}

	return "", ""
}
